package com.sqx.modules.goods.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.SqlCondition;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.sqx.modules.coupon.entity.TbCoupon;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

@Data
@ApiModel("goods_shop")
public class GoodsShop implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.AUTO)

    @ApiModelProperty("shop_id")
    private Long shopId;

    @TableField(condition = SqlCondition.LIKE)
    @ApiModelProperty("商铺名")
    private String shopName;


    @ApiModelProperty("用户表用户id")
    private Long userId;


    @ApiModelProperty("商铺类型id")
    private Long shopTypeId;


    @ApiModelProperty("商铺标签")
    private String shopLable;


    @ApiModelProperty("详细地址")
    private String detailedAddress;


    @ApiModelProperty("商铺经度")
    private Double shopLng;


    @ApiModelProperty("商铺维度")
    private Double shopLat;


    @ApiModelProperty("省")
    private String province;


    @ApiModelProperty("市")
    private String city;


    @ApiModelProperty("区")
    private String district;


    @ApiModelProperty("商铺公告")
    private String shopNotice;


    @ApiModelProperty("商铺评分")
    private Double shopScore;


    @ApiModelProperty("商铺访问人数")
    private Long accessNumber;


    @ApiModelProperty("商铺销量")
    private Integer shopSales;

    @ApiModelProperty("是否是推荐 0否 1是")
    private Integer isRecommend;


    @ApiModelProperty("营业时间")
    private String businessHours;


    @ApiModelProperty("关门时间")
    private String lockHours;


    @ApiModelProperty("商户封面图")
    private String shopCover;


    @ApiModelProperty("商户banner图片")
    private String shopBanner;


    @ApiModelProperty("创建时间")
    private String createTime;


    @ApiModelProperty("真实姓名")
    private String realName;


    @ApiModelProperty("身份证号")
    private String identitycardNumber;


    @ApiModelProperty("手机")
    private String phone;


    @ApiModelProperty("营业执照")
    private String businessLicense;


    @ApiModelProperty("身份证正面照片")
    private String identitycardPro;


    @ApiModelProperty("身份证反面照片")
    private String identitycardCon;


    @ApiModelProperty("审核理由")
    private String auditReason;


    @ApiModelProperty("保证金")
    private Double cashDeposit;


    @ApiModelProperty("审核时间")
    private String auditTime;


    @ApiModelProperty("商铺状态 0审核中  1通过  2拒绝")
    private Integer status;


    @ApiModelProperty("配送费")
    private BigDecimal errandMoney;


    @ApiModelProperty("配送距离")
    private Double distributionDistance;


    @ApiModelProperty("减免配送费最小订单金额")
    private BigDecimal exemptMinMoney;


    @ApiModelProperty("是否减免配送费")
    private Integer exemptErrandFlag;


    @ApiModelProperty("最低起送金额")
    private BigDecimal minimumDelivery;

    @ApiModelProperty("商铺是否上架 0上架 1下架")
    private Integer putawayFlag;

    @ApiModelProperty("是否开启自动派单 0开启 1关闭")
    private Integer autoSendOrder;

    @ApiModelProperty("商铺是否被封禁 0未封禁 1封禁")
    private Integer bannedFlag;

    /**
     * 设备类型 1飞鹅 2pos机
     */
    private Integer facility;

    /**
     * sn码 飞鹅打印机参数
     */
    private String snCode;

    /**
     * value 飞鹅打印机参数
     */
    private String value;

    @ApiModelProperty("是否自动接单 0开启 1关闭")
    private Integer autoAcceptOrder;

    @ApiModelProperty("商家佣金比例")
    private BigDecimal shopRate;

   /* @ApiModelProperty("商户缴纳保证金订单号")
    private Integer checkNumber;*/

    private Integer sort;


    @ApiModelProperty("距离")
    @TableField(exist = false)
    private Double distance;

    @ApiModelProperty("预计配送时间")
    @TableField(exist = false)
    private Double errandTime;


    @ApiModelProperty("商铺类型名称")
    @TableField(exist = false)
    private String shopTypeName;

    @ApiModelProperty("好评数")
    @TableField(exist = false)
    private Integer goodReputation;

    @ApiModelProperty("中评数")
    @TableField(exist = false)
    private Integer mediumReview;

    @ApiModelProperty("差评数")
    @TableField(exist = false)
    private Integer negativeComment;

    @ApiModelProperty("搜索商铺展示三个该商铺销量最高的商品")
    @TableField(exist = false)
    private List<Goods> goodsList;

    @ApiModelProperty("搜索商铺展示三个该商铺销量最高的商品")
    @TableField(exist = false)
    private List<TbCoupon> couponList;

    @ApiModelProperty("验证码")
    @TableField(exist = false)
    private String code;

    @ApiModelProperty("商户管理员id")
    @TableField(exist = false)
    private Long adminUserId;
    @ApiModelProperty("参与的活动id")
    private Long activityId;

    public GoodsShop() {
    }
}